1. Technical Field
The invention is related to a system and method of customizing a software program, in this case a presentation program, to provide a user with a graphical representation of the order of elements and their timing. This invention is described in terms of creating an animation sequence. The invention could, however, be equally well applied to other software applications, such as, for example, Internet web-site authoring software, project/program management software, scheduling software programs, electronic mail programs, and gaming software.
2. Background Art
Animation, the adding of a special visual or sound effect to text or an object, is a powerful way to attract and sequence an audience's attention in an electronic presentation. It is possible to animate text, graphics, diagrams, charts, and other objects to focus the audience on important points, control the flow of information, and add interest to a presentation. Animation in a presentation occurs when objects or animation effects on these objects in a slide are scheduled by the user to appear in a prescribed sequence. When the user then inputs a command for one or more of the objects or effects to appear, they appear in a certain order. For example, a user can have a text bullet on a slide fly into the slide from the left, one word at a time, or hear the sound of applause when a picture is uncovered. Such animation effects include having an object spin, fade in, fade out, fly across the screen, split, descend, ascend, expand, change color, change text characteristics, or be associated with sound or video, to name a few.
Animation is a temporally continuous phenomenon, but is typically programmed in terms of a discrete sequence of changes. One of the problems facing an author producing an animated presentation is that it can be difficult to know which elements in the presentation they have animated, the start and stop times (and hence duration) of each animation element, and in which sequence the animation events will play.
Some existing software that employs animation shows the animation sequence as a simple list. This makes it difficult to reconcile the order in which animation elements or events are going to animate, and how long they are going to animate. There is no indication as to the timing of each animation event and mental effort is required to match the list to what is being shown in the animation editor, where the animation is composed for later viewing by an audience. Users have complained that they cannot tell which objects on the slides are animated, nor can they determine the sequence and timing of animation effects.
Some software programs use the concept of a simple timeline in order to allow a preview of events in a sequence over time. However, these programs require a user to work entirely in the temporal plane to determine the sequence of events, adjusting the times of each event manually to create the desired sequence of events. This can be very cumbersome and time-consuming since using this method to create a sequence of events is extremely labor-intensive. In order to preview a sequence of events the user must repeatedly search for the times of interest and then take another action to display the events occurring at that time. If the user wishes to modify the sequence or timing of events, they must then take additional actions to modify the timing of each event to produce the desired result.
Therefore, what is needed is a system and method for representing or displaying the order and timing of objects and effects in an animation sequence, that makes it simple for a user to determine which elements are animated, the order in which they are animated, and the animation duration for each animation event. Preferably such a system would include a great deal of automation to simplify user tasks.